var $contractReviewTable = $('#contractReviewTableList');

//防止表头与表格不对齐
$(window).resize(function () {
    $contractReviewTable.bootstrapTable('resetView');
});

$(function () {
    $('#selectReview').selectpicker()
    $('.customerId').selectpicker()

    // $("#editModelError").modal('show')
    contractReviewTableListInit()


    let customerId_data='';


    $(".customerId").on('shown.bs.select',function(e) {

        if(customerId_data==''){

            let send_data='<option value="">加载中。。。</option>'
            $(".customerId").html(send_data);
            $('.customerId').selectpicker('refresh');
            setTimeout(function () {
                $.ajax({
                    type: 'POST',
                    dataType: "json",
                    url: '/customerController/getCustomerList',
                    cache : false,
                    data:{
                    },
                    async : false,
                    success: (function (data) {
                        if (data.code == "000000") {
                            //<option value="">请选择</option>
                            var html = '';
                            $.each(data.data, function(n, value) {
                                //selected
                                if(value.customerId==$(".cust-select").val()){
                                    html += "<option value=" + value.customerId + " selected>" +  value.customerName + "</option>";
                                }else{
                                    html += "<option value=" + value.customerId + ">" +  value.customerName + "</option>";
                                }


                            });
                            customerId_data=html
                            $(".customerId").html(html);
                            // $('.customerId').selectpicker('refresh')

                            $(".customerId").html(html).selectpicker('refresh').on('changed.bs.select', function (e, clickedIndex, isSelected, previousValue) {      // 内容变更触发
                                if($('.form-horizontal').data('bootstrapValidator')!=undefined){
                                    $('.form-horizontal').data('bootstrapValidator')
                                        .updateStatus('customerId', 'NOT_VALIDATED',null)
                                        .validateField('customerId');
                                }
                            });



                        } else {
                            alert("请求失败");
                        }
                    }),
                    error: (function (res) {
                        alert("请求失败");
                    }),

                });
            },100)

        }else{
            $(".customerId").html(customerId_data);
            // $('.customerId').selectpicker('refresh')

            $(".customerId").html(customerId_data).selectpicker('refresh').on('changed.bs.select', function (e, clickedIndex, isSelected, previousValue) {      // 内容变更触发
                if($('.form-horizontal').data('bootstrapValidator')!=undefined){
                    $('.form-horizontal').data('bootstrapValidator')
                        .updateStatus('customerId', 'NOT_VALIDATED',null)
                        .validateField('customerId');
                }
            });
        }
    })

    })

function indexFormat(value, row, index) {
    return index + 1;
}
function genderOpt(value, row, index) {
    let html = '';
    // if(row.updateStatus==1){
    // }
    // html += '<a type="button" id="distribution" class="btn btn-xs btn-default m-r-5 show-btn" title="分配" data-toggle="tooltip"><i class="mdi mdi-account-switch"></i></a>';

    html += '<button class="btn btn-default" id="distribution">分配</button>';
    html += '<button class="btn btn-default" id="review">详细信息</button>';
    return html;
}
function updateStatusEdit(value, row, index) {
    let html = '';
    //0可改 1不可改
    if(row.updateStatus==0){
        html += '未修改';
    }else{
        html += '已修改';
    }

    return html;
}
window.operateEvents = {

    //
    'click #review': function (e, value, row, index) {
        $(".form-horizontal input").attr('disabled',true)
        $(".form-horizontal .edit-submit-disabled").attr('disabled',true)
        $("#customerId").val(row.customerId)
        $("#customerName").val(row.customerName)
        $("#customerNames").html(row.customerName)
        $("#unifiedSocialCreditCode").val(row.unifiedSocialCreditCode)
        $("#unifiedSocialCreditCodes").html(row.unifiedSocialCreditCode)
        //0可改 1不可改
        if(row.updateStatus==1){
            $(".modify-edit").hide()
            $(".modify-edits").show()
        }else{
            $(".modify-edit").show()
            $(".modify-edits").hide()
        }

        $('#editModelError').modal('show');
    },
    //分配点击事件
    'click #distribution': function (e, value, row, index) {
        var customerPoolId = $("#customerPoolId").val();
        var poolState = $("#poolState").val();
        var nature = $("#nature").val();
        if(row.userName=='' || row.userName==null && row.updateStatus==1){
            $.ajax({
                url:"/customerController/getPoolType",
                type: 'POST',
                dataType: "json",
                data:{
                    customerId:row.customerId
                },
                success:function (data) {
                    if(data.code=='000000'){
                        $("#customerPoolId").val(data.data.customer_pool_id)

                        if(data.data.nature==1){
                            //全国公有池
                            loadAllCompanyList(); //加载全国公司
                        }else{
                            //分公司公有池
                            loadBranchCompanyList(data.data.customer_pool_id);
                        }
                    }else{
                        $.alert('错误信息')
                    }
                    console.log(data)
                },
                error:function (err) {
                    $.alert('错误信息')
                }
            })
        }else{
                $.alert("目前状态未处于”未修改“状态，不能分配！");
                return;
        }
        // if (poolState == 2) {
        //     $.alert("客户池已停用不能分配！");
        //     return;
        // }
        // var currentStatus = row.currentStatus;
        // if (currentStatus == '1') {
        //     $.alert("客户已领取，不能分配！");
        //     return;
        // } else if (currentStatus == '2') {
        //     $.alert("客户已分配，不能重复分配！");
        //     return;
        // } else if (currentStatus == '3') {
        //     $.alert("自建客户，不能分配！");
        //     return;
        // }
        // if (currentStatus != '0') {
        //     $.alert('客户目前状态未处于”未领取“状态，不能分配！');
        //     return;
        // }

        // //全国公有池
        // if (nature == 1) {
        //     loadAllCompanyList(); //加载全国公司
        // }
        //
        // //分公司公有池
        // if (nature == 2) {
        //     loadBranchCompanyList(customerPoolId);
        // }
        // resetData();
        $("#customerId").val(row.customerId);
        $('#customerDistributeModal').modal('show');
    },
};

/**
 * 加载全部公司信息(全国公有池分配--公司下拉)
 */
function loadAllCompanyList() {
    $.getJSON("/company/getCompanyList", function (data) {
        if (data.code == '000000') {
            var companyOptionHtml = '';
            data.data.map(function (item) {
                companyOptionHtml += '<option value="' + item.companyId + '">' + item.companyName + '</option>';
            });
            $("#companySelectAll").html("");
            $('#companySelectAll').append(companyOptionHtml);
            $('#companySelectAll').selectpicker('refresh');
            loadPersonByCompanyId(data.data[0].companyId);
        }
    });
    // 当公司下拉改变时级联人员下拉信息
    $("select[id*='companySelectAll']").on("change", function () {
        loadPersonByCompanyId($(this).val());
    });
}

/**
 * 根据公司ID查询人员信息(加载分配人员下拉)
 * @param companyId
 */
function loadPersonByCompanyId(companyId) {
    $.getJSON("/account/getAccountListByCompanyId?companyId=" + companyId, function (data) {
        if (data.code == '000000') {
            var personDiv = '';
            data.data.map(function (item) {
                personDiv += '<div class="radio-box-my">' +
                    '<input name="people" type="radio" value="' + item.accountId + '"/>' +
                    item.userName +
                    '</div>';
            });
            $('.tip-content').html('');
            $('.tip-content').html(personDiv);
        }
    });
}

/**
 * 加载分公司信息(分公司公有池--分配)
 */
function loadBranchCompanyList(customerPoolId) {
    $.getJSON("/customer/selectBranchCompany?customerPoolId=" + customerPoolId, function (data) {
        if (data.code == '000000') {
            var companyOptionHtml = '';
            data.data.map(function (item) {
                companyOptionHtml += '<option value="' + item.companyId + '">' + item.companyName + '</option>';
            });
            $("#quanxianBox").html("");
            $('#quanxianBox').append(companyOptionHtml);
            $('#quanxianBox').selectpicker('refresh');
            $("#companySelectAll").html("");
            $('#companySelectAll').append(companyOptionHtml);
            $('#companySelectAll').selectpicker('refresh');
            loadPersonByCompanyId(data.data[0].companyId);
        }
    });
    // 当公司下拉改变时级联人员下拉信息
    $("select[id*='companySelectAll']").on("change", function () {
        loadPersonByCompanyId($(this).val());
    });
    // 当公司下拉改变时级联人员下拉信息
    $("select[id*='quanxianBox']").on("change", function () {
        $('#peopleSelectByCompanyId').html('');
        loadPersonByCompanyId($(this).val());
    })
}

//  重置
function resetData(_this) {
    let searchForm = '';
    if($(_this).parents('#filterContent').context == document) {
        searchForm = $(_this);
    }else{
        searchForm = $(_this).parents('#filterContent');
    }

    // 重置表单内容
    searchForm.find('input[type="text"]').val('');
    searchForm.find('select').find('option:first').prop('selected', 'selected');
    // 刷新下拉菜单selectpicker控件
    searchForm.find('select').selectpicker('refresh');
    // 重置自定义筛选条件
    searchForm.find('.custom-group').find('input[type="checkbox"]').prop('checked', false);
    searchForm.find('.custom-group').removeClass('custom-active').find('select').removeAttr('disabled').selectpicker('refresh');
    searchForm.find('.custom-group').find('input[type="text"]').val('');

    // 点击重置按钮时，刷线table内容
    if($(_this).parents('#filterContent').context !== document) {
        // searchCustomerTableList();
    }
}

function resetDistributeModalData() {
    $("#dimSearch").html('');
    $('#choosedPeopleName').text('');
    $('#choosedPeopleId').val('');
    $('#userName').val('');
    $('#peopleSelectByCompanyId').find('input').prop('checked', false);
}

/**
 * 客户--分配
 */
function distributeCustomer() {
    var distributeUserId = '';
    var customerId = $('#customerId').val();//客户ID
    var customerPoolId = $('#customerPoolId').val();//客户池ID

    var selectPeopleByCompany = $("input[name='people']:checked").val();//通过公司选人
    // var selectPeopleByName = $('#choosedPeopleName').text();//通过人名选人
    // var choosedPeopleId = $('#choosedPeopleId').val();
    // if (selectPeopleByCompany && selectPeopleByName) {
    //     $.alert("客户只能分配给一个人,请重置选择");
    //     return;
    // }
    if (selectPeopleByCompany) { //按公司选人
        distributeUserId = selectPeopleByCompany;
    }
    // if (choosedPeopleId) { //按人名选人
    //     distributeUserId = choosedPeopleId;
    // }
    if(!distributeUserId){
        $.alert("请选择一个人进行分配");
        return;
    }
    $.ajax({
        url: "/customerController/distributeCustomer",
        type: "POST",
        contentType: "application/x-www-form-urlencoded",
        dataType: "json",
        data: {
            distributeUserId: distributeUserId,
            customerId: customerId,
            customerPoolId: customerPoolId
        },
        success: function (data) {
            if (data.code == '000000') {//分配成功
                $.alert("操作成功！");
                $('#customerDistributeModal').modal('hide');
                $contractReviewTable.bootstrapTable('refreshOptions', {pageNumber: 1});
            } else if (data.code == 'CP0002') {//超出客户池容量
                $.alert(data.message);
            } else if (data.code == 'CL0001') {//客户已锁定
                $.alert(data.message);
            } else {//操作失败
                $.alert('操作失败,请稍后再试');
            }
        },
        error: function () {
            $.alert('操作异常，请稍后再试!');
        }
    })
}

function queryParamsContractReview(params){
    params.pageSize = params.limit;
    params.pageIndex = (params.offset / params.limit) + 1;
    params.sortName = params.sort; //排序列名
    params.sortOrder = params.order;//排序方式
    params.isVip=$("#isVip").val()
    if($("#contractNumberMin").val()){
        params[$("#selectReview option:selected").val()]=$("#contractNumberMin").val()
    }
    return params;
}
function contractReviewTableListInit(){
    //先销毁表格
    $contractReviewTable.bootstrapTable('destroy');
    $contractReviewTable.bootstrapTable({
        //  table table-hover table-noborder
        classes: 'table table-bordered table-hover table-striped',
        url: '/customerController/infomationErrorList',//请求地址
        method: 'post',//请求方式
        contentType: "application/x-www-form-urlencoded",//请求内容类型
        dataType: "json",//数据类型
        striped: true,//是否显示行间隔色
        // sortable: true,//是否启用排序
        // sortOrder: "desc",//排序方式
        // sortName: 'createTm',//排序字段
        cache: false,//是否使用缓存
        showColumns: false,//显示隐藏列
        showRefresh: false,//显示刷新按钮
        showToggle: false,//切换显示样式
        showFooter: false,//显示Table脚部
        pagination: true,//是否显示分页
        showPaginationSwitch: false,//是否显示分页按钮
        clickToSelect: false,//是否启用点击选中行
        singleSelect: false,
        minimumCountColumns: 2,//最少要显示的列数
        sidePagination: "server",//分页方式：client客户端分页，server服务端分页
        uniqueId: 'contractId',
        idField: 'contractId',
        // pageSize: globalPageSize,//每页的记录行数
        pageNumber: 1,//初始化加载第1页，默认第1页
        // pageList: globalPageList,//可供选择的每页的行数
        //cell没有值时显示
        undefinedText: '-',//cell没有值时显示

        fixedColumns: true,     // 冻结列
        fixedNumber: 1,         // 左侧固定列
        fixedRightNumber: 1,    // 右侧固定列

        queryParams: queryParamsContractReview,//查询参数
        columns: [
            {title: '主键', field: 'contractId', visible: false},
            {title: '订单ID', field: 'orderId', visible: false},
            {title: '序号', field: 'index', align: 'center', valign: 'middle', width: '60', formatter: indexFormat},
            {title: '客户名称', field: 'customerName', align: 'left', valign: 'middle',  },
            {title: '所属分公司', field: 'companyIdName', align: 'left', valign: 'middle',  },
            {title: '所有人', field: 'userName', align: 'left', valign: 'middle',  },
            {title: '核查时间', field: 'checkTm', align: 'left', valign: 'middle',  },
            {title: '修改状态', field: 'updateStatus', align: 'left', valign: 'middle', formatter: updateStatusEdit },

            {title: '操作',field: 'operateFlag',align: 'right',events: operateEvents, formatter: genderOpt},
        ],

        responseHandler: function (result) {
            if (result.code == "000000") {
                var obj = {
                    "rows": result.data,
                    "total": result.totalRecords//总条数
                };
            } else {
                var obj = {
                    "total": 0,
                    "rows": [],
                }
            }
            return obj;
        },
        onLoadError: function (status) {
            if (status == 403) {
                alert("权限不足！禁止访问！");
            } else {
                //加载失败时执行
                // alert("加载失败！");
            }
        },
        formatLoadingMessage: function () {
            return "请稍等，加载中...";
        },
        formatNoMatches: function () {
            return '无符合条件的记录';
        },
    });
}

function tabIsVip(type) {
    $(this).parent().addClass('active')
    $(this).parent().siblings().removeClass('active')
    if(type=='A'){
        $("#isVip").val("A")
    }else if(type=='N'){
        $("#isVip").val("N")
    }else if(type=='Y'){
        $("#isVip").val("Y")
    }
    $("#contractNumberMin").val('')
    $contractReviewTable.bootstrapTable('refresh')
}

function editSubmit() {
    $('.form-horizontal').bootstrapValidator({
        fields: {
            customerName: {
                validators: {
                    notEmpty: {
                        message: '客户名称不能为空'
                    },
                    // regexp: {
                    //     regexp: /^[\u4e00-\u9fa5A-Za-z0-9_-]+[\)）（，；\(\.\%。\u4e00-\u9fa5A-Za-z0-9_-]?$/,
                    //     message: '请输入正确的客户名称'
                    // }
                }
            },
            unifiedSocialCreditCode: {
                validators: {
                    notEmpty: {
                        message: '信用代码不能为空'
                    }
                }
            }

        },
    })
    $(".form-horizontal").bootstrapValidator('validate');//提交验证
    if (!$(".form-horizontal").data('bootstrapValidator').isValid()) {//获取验证结果，如果成功，执行下面代码

        return;
    }

    let obj={
        customerName:$("#customerName").val(),
        unifiedSocialCreditCode:$("#unifiedSocialCreditCode").val(),
        customerId:$("#customerId").val(),
        updateStatus:1
    }
    // 修改
    $.ajax({
        url: '/customerController/updateCustomer',
        type: 'POST',
        dataType: "json",
        contentType: "application/json;charset=utf-8",
        data:JSON.stringify(obj),
        async: false,
        success: (function (data) {
            if(data.code=='000000'){
                $.alert({
                    title: '提示',
                    content: '修改成功！',
                    buttons: {
                        confirm: {
                            text: '确认',
                            btnClass: 'btn-primary',
                            action: function () {
                                //模态框关闭
                                $('#editModelError').modal('hide');
                                $contractReviewTable.bootstrapTable('refresh')
                            }
                        }
                    }
                })
            }else if(data.code=='ME0001'){
                $.alert("客户名称或信用代码不存在！")
            }else if(data.code=='ME0002'){
                $.alert("不能同时修改客户名称及社会信用代码！")
            }else{
                $.alert('修改失败')
            }
        }),
        error: (function (res) {
            $.alert('修改失败')
        })

    })
}

$("#btn-search-simple").on('click',function () {
    // console.log($("#selectReview option:selected").val())
    // if($("#contractNumberMin").val()){
    //     $contractReviewTable.bootstrapTable('refresh')
    // }
    $contractReviewTable.bootstrapTable('refresh')

    // if($("#selectReview option:selected").val()=='userName'){}
})

$("#selectReview").on('change',function () {
    $("#contractNumberMin").val('')
})

$(".edit-relieve").on('click',function () {
    $(".form-horizontal input").attr('disabled',false)
    $(".form-horizontal .edit-submit-disabled").attr('disabled',false)
})